
import java.util.HashSet;

public class TestSet {
    public static void main(String[] args) {
        HashSet<String> A = new HashSet<String>();//定义一个集合A，表示A社团
        A.add("张三");//添加A社团的成员张三
        A.add("李四");//添加A社团的成员李四

        Object a[] = A.toArray();//将集合A中的元素放到数组a[]中
        System.out.print("参加A社团的人有：");
        for (int i = 0; i < a.length; i++) {//遍历数组a[]
            System.out.print(a[i]+" ");//输出数组a[]中的元素
        }
        System.out.println();

        HashSet<String> B = new HashSet<String>();//定义一个集合B，表示B社团
        B.add("李四");//添加B社团的成员李四
        B.add("王五");//添加B社团的成员王五

        Object b[] = B.toArray();//将集合B中的元素放到数组b[]中
        System.out.print("参加B社团的人有：");
        for (int i = 0; i < b.length; i++) {//遍历数组b[]
            System.out.print(b[i]+" ");//输出数组b[]中的元素
        }
        System.out.println();

        HashSet<String> tmpSet = (HashSet<String>)A.clone();//创建一个A集合的克隆集合
        tmpSet.retainAll(B);//调用retainAll()方法，使当前集合成为A、B的交集

        Object ab[] = tmpSet.toArray();//将AB的交集中的元素放到数组ab[]中
        System.out.print("同时参加两个社团的人有：");
        for (int i = 0; i < ab.length; i++) {//遍历数组ab[]
            System.out.print(ab[i]+" ");//输出数组ab[]中的元素
        }
        System.out.println();
    }
}
